home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / seawolf.bas < prev    next >
BASIC Source File  |  1988-11-09  |  7KB  |  187 lines

  1. 10 KEY OFF:CLS
  2. 20 SCREEN 0
  3. 30 WIDTH 40
  4. 40 PRINT"000000000000000000000000000000000000000"
  5. 50 PRINT"0ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?0"
  6. 60 PRINT"03                                   30"
  7. 70 PRINT"03            2065-A.BAS             30"
  8. 80 PRINT"03             SEAWOLF               30"
  9. 90 PRINT"03                                   30"
  10. 100 PRINT"03                                   30"
  11. 110 PRINT"03 BROUGHT TO YOU BY THE MEMBERS OF  30"
  12. 120 PRINT"03      \\\\\ \\\\\ \\\\\ \\\\\      30"
  13. 130 PRINT"03        [   [   [ [     [   [      30"
  14. 140 PRINT"03        [   [\\\[ [     [   [      30"
  15. 150 PRINT"03        [   [     [     [   [      30"
  16. 160 PRINT"03      \\[\\ [     [\\\\ [\\\[      30"
  17. 170 PRINT"03                                   30"
  18. 180 PRINT"03      International PC Owners      30"
  19. 190 PRINT"03                                   30"
  20. 200 PRINT"03P.O. Box 10426, Pittsburgh PA 1523430"
  21. 210 PRINT"03                                   30"
  22. 220 PRINT"0@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY0"
  23. 230 PRINT"000000000000000000000000000000000000000"
  24. 240 PRINT
  25. 250 PRINT "       PRESS ANY KEY TO CONTINUE
  26. 260 A$=INKEY$: IF A$="" THEN 260
  27. 270 WIDTH 80
  28. 280 CLS
  29. 1000       REM     ** SEAWOLF **
  30. 1010       REM     IBM PC Version (1.0)    06/15/82
  31. 1020       REM     Written by Pat Gibson
  32. 1030       REM     Derived from original version in PDP-11/70 BASIC  03/13/77 by
  33. 1040       REM     Pat Gibson  (Findlay College, Findlay Ohio)
  34. 1050       REM
  35. 1060       REM     If you have any suggestions or contributions please send to
  36. 1070       REM          P. Gibson   700 N. Main St.  Findlay, Ohio  45840
  37. 1080       REM
  38. 1090      CLS
  39. 1100    SHIP$(1,1) = "<Pt" : SHIP$(1,2) = "Pt>" : SHIP$(1,3) = "   "
  40. 1110    SHIP$(2,1) = "<Sub+" : SHIP$(2,2) = "+Sub>" : SHIP$(2,3) = "     "
  41. 1120    SHIP$(3,1) = "\Tanker/" : SHIP$(3,2) = "\Tanker/" : SHIP$(3,3) = "        "
  42. 1130    ON KEY(10) GOSUB 2190
  43. 1140    ON KEY(11) GOSUB 2260
  44. 1150    ON KEY(12) GOSUB 2270
  45. 1160    ON KEY(13) GOSUB 2290
  46. 1170    ON KEY(1) GOSUB 2510
  47. 1180    ST$ = " "
  48. 1190    SIGHT$=CHR$(220)+CHR$(220)+CHR$(220)+CHR$(220)+CHR$(221)+CHR$(206)+CHR$(222)+CHR$(220)+CHR$(220)+CHR$(220)+CHR$(220)
  49. 1200    SIGHTX = 35 : SIGHTM = 0
  50. 1210    SEED = VAL(RIGHT$(TIME$,2)) : RANDOMIZE SEED
  51. 1220    SIGHT1$=CHR$(220)+CHR$(220)+CHR$(220)+CHR$(220)+CHR$(221)+" "+CHR$(222)+CHR$(220)+CHR$(220)+CHR$(220)+CHR$(220)
  52. 1230    SHIPX = 1 : SHIPY = 1
  53. 1240    SITE$ = SIGHT$
  54. 1250    SHIPM = 2
  55. 1260    TORPEDO$ = CHR$(186)
  56. 1270    S = 1
  57. 1280    PTIME = 60
  58. 1290    SCORE = 0
  59. 1300    COLOR 15,0
  60. 1310    GOSUB 2310
  61. 1320    COLOR 7,0
  62. 1330    LOCATE 1,1,0
  63. 1340    CLS
  64. 1350    LOCATE 1,3 : PRINT "score  "; : COLOR 15,0 : PRINT "0" : COLOR 7,0
  65. 1360    LOCATE 1,20 : PRINT "Time"
  66. 1370    LOCATE 23,1
  67. 1380    FOR T = 1 TO 80 : PRINT CHR$(220); : NEXT T
  68. 1390    KEY(10) ON : KEY(11) ON : KEY(12) ON : KEY(13) ON : KEY(1) ON
  69. 1400    IF SIGHTX >=67 AND SIGHTM >=0 THEN 1430
  70. 1410    IF SIGHTX <= 3 AND SIGHTM <= 0 THEN 1430
  71. 1420    SIGHTX = SIGHTX + SIGHTM
  72. 1430    LOCATE 23,SIGHTX : PRINT SITE$
  73. 1440    IF FIRE = 0 THEN 1600
  74. 1450    IF TORPEDOY < 3 THEN GOTO 1510
  75. 1460    TORPEDOY = TORPEDOY - 2
  76. 1470    COLOR 15,0
  77. 1480    LOCATE TORPEDOY,TORPEDOX : PRINT TORPEDO$
  78. 1490    COLOR   7,0
  79. 1500    GOTO 1540
  80. 1510    PLAY "mb l64 o0;a"
  81. 1520    FIRE = 0
  82. 1530    SITE$ = SIGHT$
  83. 1540    TEMPY = TORPEDOY + 2
  84. 1550    LOCATE TEMPY,TORPEDOX : PRINT " "
  85. 1560    IF FIRE = 1 THEN 1610
  86. 1570    TORPEDOY = 22
  87. 1580    LOCATE 2,TORPEDOX : PRINT " "
  88. 1590    GOTO 1610
  89. 1600    LOCATE 1,1 : PRINT " "
  90. 1610    IF SHIPY <> 1 THEN 1690
  91. 1620    SHIPNUM = INT(RND(S) * 3) + 1 : S = S + 1
  92. 1630    DIR = INT(RND(S) * 2) + 1
  93. 1640    SHIPY = INT(RND(S) * 4) * 2
  94. 1650    SHIPY = SHIPY + 4
  95. 1660    IF DIR = 1 THEN SHIPM = -1 ELSE SHIPM = 1
  96. 1670    IF DIR = 1 THEN SHIPX = 71 ELSE SHIPX = 2
  97. 1680    SHIPM = SHIPM + ((3 - SHIPNUM) * SHIPM)
  98. 1690    LOCATE SHIPY,SHIPX : PRINT SHIP$(SHIPNUM,3)
  99. 1700    SHIPX = SHIPX + SHIPM
  100. 1710    LOCATE SHIPY,SHIPX : PRINT SHIP$(SHIPNUM,DIR)
  101. 1720    IF SHIPX < 3 OR SHIPX > 70 THEN GOTO 1750
  102. 1730    IF SHIPNUM = 1 AND SHIPX < 4 THEN GOTO 1750
  103. 1740    GOTO 1770
  104. 1750    LOCATE SHIPY,SHIPX : PRINT SHIP$(SHIPNUM,3)
  105. 1760    SHIPY = 1
  106. 1770    IF FIRE = 0 THEN 2120
  107. 1780    IF SCREEN(TORPEDOY,TORPEDOX) = ASC(TORPEDO$) OR SCREEN(TORPEDOY,TORPEDOX) = 32 THEN 2120
  108. 1790    LM = LEN(SHIP$(SHIPNUM,1))
  109. 1800    COLOR 15,0
  110. 1810    LOCATE TORPEDOY,SHIPX
  111. 1820    FOR T = 1 TO LM : PRINT CHR$(219); : NEXT T
  112. 1830    PLAY "mf o0 l64;d"
  113. 1840    LOCATE TORPEDOY,SHIPX
  114. 1850    FOR T = 1 TO LM : PRINT CHR$(178); : NEXT T
  115. 1860    PLAY "mf o0 l64;e"
  116. 1870    LOCATE TORPEDOY,SHIPX
  117. 1880    FOR T = 1 TO LM : PRINT CHR$(177); : NEXT T
  118. 1890    PLAY "mf o0 l64;f"
  119. 1900    LOCATE TORPEDOY,SHIPX
  120. 1910    FOR T = 1 TO LM : PRINT CHR$(176); : NEXT T
  121. 1920    PLAY "mf o0 l64;g"
  122. 1930    LOCATE TORPEDOY,SHIPX : PRINT "         "
  123. 1940    SOUND 38,4
  124. 1950    FIRE = 0
  125. 1960    SITE$ = SIGHT$
  126. 1970    LOCATE SHIPY,SHIPX : PRINT SHIP$(SHIPNUM,3)
  127. 1980    SHIPY = 1
  128. 1990    IF SHIPNUM = 1 THEN SCORE = SCORE + 700
  129. 2000    IF SHIPNUM = 2 THEN SCORE = SCORE + 300
  130. 2010    IF SHIPNUM = 3 THEN SCORE = SCORE + 100
  131. 2020    LOCATE 1,10
  132. 2030    PRINT SCORE
  133. 2040    COLOR 7,0
  134. 2050    IF EXTEND < 3 AND SCORE >= 9000 THEN GOTO 2090
  135. 2060    IF EXTEND < 2 AND SCORE >= 6000 THEN GOTO 2090
  136. 2070    IF EXTEND < 1 AND SCORE >= 3000 THEN GOTO 2090
  137. 2080    GOTO 2120
  138. 2090    PLAY "mb o2 l8;bbb;l4;g"
  139. 2100    PTIME = PTIME + 30
  140. 2110    EXTEND = EXTEND + 1
  141. 2120    LOCATE 1,26
  142. 2130    IF PTIME < 11 THEN COLOR 27,0 ELSE COLOR 15,0
  143. 2140    PRINT INT(PTIME)
  144. 2150    COLOR 7,0
  145. 2160    IF PTIME < .8 THEN 2500
  146. 2170    PTIME = PTIME - .1
  147. 2180    GOTO 1400
  148. 2190   IF FIRE = 1 THEN RETURN
  149. 2200   TORPEDOY = 22
  150. 2210   FIRE = 1
  151. 2220   SOUND 50,8
  152. 2230   TORPEDOX = SIGHTX + 5
  153. 2240   SITE$ = SIGHT1$
  154. 2250   RETURN
  155. 2260   SIGHTM = 0:RETURN
  156. 2270   SIGHTM = -4
  157. 2280   RETURN
  158. 2290   SIGHTM = 4
  159. 2300   RETURN
  160. 2310   LOCATE 3,1
  161. 2320   PRINT "         Welcome to Sea-Wolf (Version 1.0)"
  162. 2330   PRINT " "
  163. 2340   PRINT " The object of the game is to sink the enemy invasion fleet"
  164. 2350   PRINT " "
  165. 2360   PRINT "  The fleet consist of the following:
  166. 2370   PRINT " "
  167. 2380   PRINT "                 PT boats.............";SHIP$(1,1);"      700 pts."
  168. 2390   PRINT "                 Submarines...........";SHIP$(2,1);"      300 pts."
  169. 2400   PRINT "                 Oil Tanker...........";SHIP$(3,1);"      100 pts."
  170. 2410   PRINT " "
  171. 2420   PRINT " Your torpedo sight is located at the bottom of the screen.  To"
  172. 2430   PRINT "move your sight press left arrow (4) for left movement and right"
  173. 2440   PRINT "arrow (6) for right movement.  Up arrow (8) will stop the sight at"
  174. 2450   PRINT "that particular position.  Your fire key is Function key 10 (F10)"
  175. 2460   PRINT " "
  176. 2470   LOCATE 21,1 : PRINT "           Press RETURN key to begin";
  177. 2480   INPUT XYZ$
  178. 2490   RETURN
  179. 2500   PLAY "mb o3 l8;defefefgg"
  180. 2510   CLS : PRINT "Your score was ";SCORE
  181. 2520   LOCATE 2,3 : PRINT "try again? (Y/N)";
  182. 2530   INPUT Y$
  183. 2540   IF LEFT$(Y$,1) = "y" OR LEFT$(Y$,1) = "Y" THEN GOTO 1090
  184. 2550   COLOR 7,0 : CLS
  185. 2560   SYSTEM
  186. 2570   END
  187.